from setuptools import setup, find_namespace_packages

setup(name='mednextv1',
      packages=find_namespace_packages(include=["mednextv1", "mednextv1.*"]),
      version='1.7.0',
      description='nnU-Net. Framework for out-of-the box biomedical image segmentation.',
      url='https://github.com/MIC-DKFZ/mednextv1',
      author='Division of Medical Image Computing, German Cancer Research Center',
      author_email='f.isensee@dkfz-heidelberg.de',
      license='Apache License Version 2.0, January 2004',
      install_requires=[
            "torch>1.10.0",
            "tqdm",
            "dicom2nifti",
            "scikit-image>=0.14",
            "medpy",
            "scipy",
            "batchgenerators>=0.23",
            "numpy",
            "scikit-learn",
            "SimpleITK",
            "pandas",
            "requests",
            "nibabel", 
            "tifffile", 
            "matplotlib",
      ],
      entry_points={
          'console_scripts': [
              'mednextv1_convert_decathlon_task = nnunet_mednext.experiment_planning.nnUNet_convert_decathlon_task:main',
              'mednextv1_plan_and_preprocess = nnunet_mednext.experiment_planning.nnUNet_plan_and_preprocess:main',
              'mednextv1_train = nnunet_mednext.run.run_training:main',
              'mednextv1_train_DP = nnunet_mednext.run.run_training_DP:main',
              'mednextv1_train_DDP = nnunet_mednext.run.run_training_DDP:main',
              'mednextv1_predict = nnunet_mednext.inference.predict_simple:main',
              'mednextv1_ensemble = nnunet_mednext.inference.ensemble_predictions:main',
              'mednextv1_find_best_configuration = nnunet_mednext.evaluation.model_selection.figure_out_what_to_submit:main',
              'mednextv1_print_available_pretrained_models = nnunet_mednext.inference.pretrained_models.download_pretrained_model:print_available_pretrained_models',
              'mednextv1_print_pretrained_model_info = nnunet_mednext.inference.pretrained_models.download_pretrained_model:print_pretrained_model_requirements',
              'mednextv1_download_pretrained_model = nnunet_mednext.inference.pretrained_models.download_pretrained_model:download_by_name',
              'mednextv1_download_pretrained_model_by_url = nnunet_mednext.inference.pretrained_models.download_pretrained_model:download_by_url',
              'mednextv1_determine_postprocessing = nnunet_mednext.postprocessing.consolidate_postprocessing_simple:main',
              'mednextv1_export_model_to_zip = nnunet_mednext.inference.pretrained_models.collect_pretrained_models:export_entry_point',
              'mednextv1_install_pretrained_model_from_zip = nnunet_mednext.inference.pretrained_models.download_pretrained_model:install_from_zip_entry_point',
              'mednextv1_change_trainer_class = nnunet_mednext.inference.change_trainer:main',
              'mednextv1_evaluate_folder = nnunet_mednext.evaluation.evaluator:nnunet_evaluate_folder',
              'mednextv1_plot_task_pngs = nnunet_mednext.utilities.overlay_plots:entry_point_generate_overlay',
              'mednextv1_region_based_evaluation = nnunet_mednext.evaluation.region_based_evaluation:main',
          ],
      },
      keywords=['deep learning', 'image segmentation', 'medical image analysis',
                'medical image segmentation', 'nnU-Net', 'mednextv1']
      )
